﻿

/*js去掉空格 */
function trim(str){ 
				 return  str.replace(/^\s+|\s+$/g,"");
}
/*固定号码验证  */
function IsTelephone(obj){ 
	var pattern=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{3,4}\-[0-9]{7,8}\-[0-9]{3,8}$)/; 
	if(pattern.test(obj)) 
	{ 
		return true; 
	} else { 
		return false; 
	} 
}

/* 电话区号   */
function isAreaCode(obj){
     var pattern=/^[0-9]{3,4}$/; 
	if(pattern.test(obj)) 
	{ 
		return true; 
	} else { 
		return false; 
	} 
} 
/*固定号码不带区号   */
function isPhone(obj){
    var pattern=/^[0-9]{7,8}$/; 
	if(pattern.test(obj)){ 
		return true; 
	} else { 
		return false; 
	} 
}

/*判断是否为身份证号码*/
function isIdno(ui) {
	var valid = /(^\d{16}$)|(^\d{18}$)/;
	return (!isEmpty(ui) || valid.test(ui));
}

/* 判断是否为邮政编码 */
function isPostCode(ui) {
	var valid = /^\d{6}$/;
	return (isEmpty(ui) || valid.test(ui));
}

/* 判断是否为固定电话 */
function isChinaTel(ui) {
	var valid = /^\d{5,13}$/;
	return (isEmpty(ui) || valid.test(ui));
}

/* 判断是否为移动电话 */
function isChinaMob(ui) { 
	var valid=/^1\d{10}$/  ;    
	return (isEmpty(ui) ||valid.test(ui)); 
}

/* 判断是否为邮件 */
function isMail(ui) {
	if (isEmpty(ui)) {
		return true;
	}
	var notValid = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;
	var valid = /^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;
	return (!notValid.test(ui) && valid.test(ui));
}
function isMailAndEmpty(ui) {
	if (isEmpty(ui)) {
		return false;
	}
	var notValid = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;
	var valid = /^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;
	return (!notValid.test(ui) && valid.test(ui));
}

/* 判断用户输入是否为空 */
function isEmpty(ui) {
	if(ui == null || ui == '')
	return true;
}
/* 判断用户输入是否为空 */
function isNotEmpty(ui) {
	if (isEmpty(ui))
		return false;
	else
		return true;
}
function request(ui) {
	if (isEmpty(ui))
		return false;
	else
		return true;
}

/**验证输入的日期是否为空并且对日期格式进行验证
 *	规范格式: yyyy-MM-dd
 */
function date(ui){
	var valid = /^\d{4}[-,\/,\.]{1}\d{2}[-,\/,\.]{1}\d{2}$/;
	return (!isEmpty(ui) && valid.test(ui));
}

/**对可以为空的选项进行日期格式验证
 */
function isDateFormat(ui){
	var valid = /^\d{4}[-,\/,\.]{1}\d{2}[-,\/,\.]{1}\d{2}$/;
	var valid2=/^\d{4}[-,\/,\.]{1}\d{2}$/;
	var valid3=/^\d{4}$/;
	return (isEmpty(ui) || valid.test(ui)||valid2.test(ui)||valid3.test(ui));
}

/**不为空的选项进行日期格式验证
 */
function dateFormat(ui){
	var valid = /^\d{4}[-,\/,\.]{1}\d{2}[-,\/,\.]{1}\d{2}$/;
	return (isNotEmpty(ui) && valid.test(ui));
}

/*
用途：检查输入字符串是否只由汉字、字母、数字组成
输入：
value：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isChinaOrNumbOrLett(ui){ //判断是否是汉字、字母、数字组成
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5\uFF00-\uFFFF\-]+$";
var re = new RegExp(regu);
	return (isEmpty(ui)|| re.test(ui));
} 
/*
是否浮点数，不为空
*/
function isFloat(ui){
    var regu = "^[1-9]\d*\.\d*|^[1-9]\d*|0\.\d*[1-9]\d*$";
    var re = new RegExp(regu);
	return (isNotEmpty(ui)&& re.test(ui));
}

/*
是否浮点数
*/
function emptyFloat(ui){
    var regu = "^[1-9]\d*\.\d*|^[1-9]\d*|0\.\d*[1-9]\d*$";
    var re = new RegExp(regu);
	return (isEmpty(ui) || re.test(ui));
}



/*
是否整数，不为空
*/
function isInt(ui){
    var re =/^[1-9]\d*$/;
    return (isNotEmpty(ui)&& re.test(ui));
}


/**验证不为空且是否由英文字母及汉字组成
 */
function isChinaOrLettAndEmpty(ui){
	var regu = "^[a-zA-Z\u4e00-\u9fa5\w]+$";
	var re = new RegExp(regu);
	return (!isEmpty(ui) && re.test(ui));
}
/**验证不为空且只能由字母及数字组成
 *
 */
function isNumbOrLettAndEmpty(ui){
	var regu = "^[0-9a-zA-Z\w]+$";
	var re = new RegExp(regu);
	return (!isEmpty(ui) && re.test(ui));
}
/**
 * 密码验证,长度大于等于六且由不能由汉字组成
 * @param ui
 * @return
 */
function passwordValidate(ui){
	var regu = "^[0-9a-zA-Z\w]+$";
	var re = new RegExp(regu);
	var passwd = document.getElementById("readerInfo__passwd").value;
	if(passwd.length < 6){
		return false;
	}else{
		return (!isEmpty(ui) && re.test(ui));
	}
}

/**
 * 验证表单元素elementId对应的字段 ， validateFuncName： 调用验证字段函数名称如：isEmpty promptMsg ：
 * 如果调用该字段验证不通过，返回的错误提示信息 promptDivId ： 错误提示信息所在的DivId
 */
function validate(elementId, validateFuncName, promptMsg, promptDivId) {
	var elementValue = jQuery("#"+elementId).val();
	var validateFlg = eval(validateFuncName + '("' + elementValue + '")');
	if (!validateFlg) {
		jQuery("#"+promptDivId).html(promptMsg);
	}
	return validateFlg;
}

/**
 * 验证表单元素elementId对应的字段 ， validateFuncName： 调用验证字段函数名称如：isEmpty promptMsg ：
 * 如果调用该字段验证不通过，返回的错误提示信息 promptDivId ： 错误提示信息所在的DivId
 */
function validate(elementId, validateFuncName, promptMsg) {
	var elementValue = jQuery("#"+elementId).val();
	var validateFlg = eval(validateFuncName + '("' + elementValue + '")');
	if (!validateFlg) {
		jQuery('#message_container').html('<div class="errormsg"><p id="errorMsg" >'+promptMsg+'</p></div>');
		//Sexy.error('<h1 style="color:red;">'+promptMsg+'.</h1>');
	}
	return validateFlg;
}

/**
 * 遍历指定formName表单，进行验证
 */
function validateForm(formName, promptDivId) {
	var form = eval('document.' + formName);
	var eleLength = eval('document.' + formName + '.elements.length');
	for ( var i = 0; i < eleLength; i = i + 1) {
		var ele = jQuery(form.elements[i]);
		
		var eleId = ele.attr('id');
		var validateFuncName = ele.attr('checkFuncName');
		var promptMsg = ele.attr('promptMsg');

		if (validateFuncName == null)
			continue;
		if (request(validateFuncName)) {
			var validFlg = validate(eleId, validateFuncName, promptMsg,
					promptDivId);
			if (!validFlg)
				return validFlg;
		}
	}
	return true;
}

/**
 * 遍历指定formName表单，进行验证
 */
function validateForm(formName) {
	var form = eval('document.' + formName);
	var eleLength = eval('document.' + formName + '.elements.length');
	for ( var i = 0; i < eleLength; i = i + 1) {
		var ele = jQuery(form.elements[i]);
		
		var eleId = ele.attr('id');
		var validateFuncName = ele.attr('checkFuncName');
		var promptMsg = ele.attr('promptMsg');
		
		if (validateFuncName == null)
			continue;
		if (request(validateFuncName)) {
			var validFlg = validate(eleId, validateFuncName, promptMsg);
			if (!validFlg)
				return validFlg;
		}
	}
	return true;

}








/**验证终止日期是否格式正确(yyyy-MM-dd)
 * 并验证是否在启动日期之后
 */
function isBigThanStartDate(ui){
	if(isDateFormatAndIsEmpty(ui)){
	if(document.getElementById("readerInfo__startDate").value!=''&& 
		  document.getElementById("readerInfo__endDate").value!=''){
		var start = document.getElementById("readerInfo__startDate").value;
	    var end = document.getElementById("readerInfo__endDate").value;
		var	starttime=start.slice(0,4)+start.slice(5,7)+start.slice(8,10);
		var endtime=end.slice(0,4)+end.slice(5,7)+end.slice(8,10);
		var timeValue =endtime-starttime;
	if(timeValue>0)
		return true;
	else
		return false;	
	}
	}
}
/**根据输入的身份证号自动设置年龄
 */
function AutoSetAge(){	
	if(document.getElementById("readerInfo__certify").value !=''){	
	var mydate = new Date();
	var borthyear = document.getElementById("readerInfo__certify").value.slice(6,10);
	document.getElementById("readerInfo__age").value=mydate.getYear() - borthyear;
		}
	}
	function AutoSetBornDate(){
		if(document.getElementById("readerInfo__certify").value!=''){
		var borthyear = document.getElementById("readerInfo__certify").value.slice(6,10);
		var borthmouth = document.getElementById("readerInfo__certify").value.slice(10,12); 
		var borthday = document.getElementById("readerInfo__certify").value.slice(12,14);
	document.getElementById("readerInfo__bornDate").value=borthyear+'-'+borthmouth+'-'+borthday;
		}
	}
	
	function AutoSetSex(){
		if(document.getElementById("readerInfo__certify").value!=''){
			var cer = document.getElementById("readerInfo__certify").value;
			if(cer.length==18){
				var oo = cer.slice(16,17);
				if(oo%2!=0){
					document.createform.readerInfo__sex1.checked="checked";
				}else{
					document.createform.readerInfo__sex2.checked="checked";
				}
			}else if(cer.length==15){
				var pp = cer.slice(14,15);
				if(pp%2!=0){
					document.createform.readerInfo__sex1.checked="checked";
				}else{
					document.createform.readerInfo__sex2.checked="checked";
				}
			}
		}
	}


/*根据传入的年数与月数，进行减法运算,并将最后得数赋给hiddenarea与readerInfo__startDate
 * endofstartdate是结束日期，运算后把值赋给readerInfo__startDate供显示
 * 赋给hiddenarea供后台进行查询
 */	
 	function setStatsDate(yearValue,monthValue){
 	var time = document.getElementById("endofstartdate").value;
 	if(time!=null && time!=""){
 				var value = new Date(time.replace(/-/g,   "/"));
 				var y = value.getYear()-yearValue;
 				var m = value.getMonth()-monthValue;
 				var d = value.getDate();
 				if(m<1){
 						y-=1;
 						m+=12;
 					}
 				if(m)
 				if(m<10){	
 					m='0'+m;
 					}
 				
 				if(d<10){
 				d="0"+d;
 				}
 				var result =y+"-"+m+"-"+d;
 				document.getElementById("readerInfo__startDate").value=result;
 				document.getElementById("hiddenarea").value=result;
 		}
 		//$('readerInfo__startDate').disabled=!this.checked;
 	}


/**
 * 验证导入的是否为.xls文件，如果为空或为非.xls文件，则返回错误提示
 * @return
 */
function checkexlform(){
	var url = document.getElementById("fileXLS").value;
	if(url!=null &&!url==""){
	url = url.slice(url.length-4,url.length);
	if(url==".xls"){
		}else{
			document.getElementById("errorMsg").innerHTML = "导入文件格式非法";
			return;
		}
	}else{
		document.getElementById("errorMsg").innerHTML = "请先选择EXCEL文件";
		return;
	}	
    if(document.importexlform.rdGlobal.checked){
		document.getElementById("exlGlobal").value=1;
        }else{
        	document.getElementById("exlGlobal").value=0;
        }
    document.importexlform.submit();
}
/**
 * 验证
 * @param val
 * @param title
 * @param max
 * @param min
 * @param notEmpty
 * @return
 */
function checkLength(val,title,max,min,notEmpty){
    if(notEmpty){
	   if(val.length<=0){
           alert(title+"不能为空");
		   return false ;
	   }
	}
	if(val.length<min){
	   alert(title+"长度不能小于"+min);
	   return false ;
	}else if(val.length>max){
	    alert(title+"长度不能大于"+min);
	    return false ;
	}else{
	   return true ;
	}
}

//-------------------------jquery部分
jQuery.fn.validator=function(){
		var name=$(this).attr("name");
		$(this).submit(function(){
			return validateForm(name);
		});
};

function isKongGe(s){
	  if(s.indexOf(' ')>=0){
	    return  true ;
	  }else{
	    return false ; 
	  }
}

function isWenBen(s){
    var pattern =/(^[\u4e00-\u9fa5A-Za-z0-9_-]*$)/ ;
	   if(!pattern.test(s)){
          return false;
    }else{
	        return true ;
	   }
}	


/**验证不为空且只能由字母组成
*
*/
function isLett(ui){
	var regu = "^[a-zA-Z\w]+$";
	var re = new RegExp(regu);
	return re.test(ui);
}
